#pragma once
#include "GUI_Morph.h"
#include <assert.h>
#include "../Item/Activators/Activator_Base.h"
#include "../World/Local References.h"
//
//class gui_optionActivatorButton : public gui_morph
//{
//protected:
//	Activator_Base* currentReference;	//Points to the activator it's currently sending messages to
//	int assignedSkill;
//public:
//	gui_optionActivatorButton() : gui_morph()
//	{
//		ExecuteFunct = 0;
//	};
//
//
//
//	void initialize(Vector2D ButtonAsset, int State,Quad Bound)
//	{
//		/*Only needs to be called once for each type of dialog, since
//		the dialog will be used multiple times with only the text
//		on the button changing.
//		*/
//		assetIndex			= ButtonAsset;
//		m_qBound			= Bound;
//		Morph				= MORPH_INDEX;
//		showState			= State;	
//		active				= false;
//		ExecuteFunct		= 0;	
//		m_tbTexts			= 0;
//		m_iElements			= 0;
//		m_iAllocated		= 0;
//
//
//		/*From here on out we should only be changing the value of the textbox, leaving everything else untouched*/
//		addTextBox(Bound," ");
//
//	};
//
//	void assignewReference(Activator_Base* newRef, int skill)
//	{
//		/*Takes in a new reference to keep track of to send messages to, then
//		uses the passed in stats to reText the button*/
//		assert(assetIndex.y >= 0);										//Make sure we're initalized
//		assert(skill != -1 && skill >= 0 && skill < STAT_NUMOFSTATS);	//Check valid skill
//
//		currentReference	= newRef;
//		assignedSkill		= skill;
//
//		if(skill != -1)		m_tbTexts[0].val = statNames[skill];
//		else				m_tbTexts[0].val = "N/A";
//	}
//	bool checkCollision(Vector2D Location)
//	{
//		int X((int)Location.x),Y((int)Location.y);
//		if(X >= m_qBound.x && X <= m_qBound.x+m_qBound.width)
//			if(Y >= m_qBound.y && Y <= m_qBound.y+m_qBound.height)
//			{
//				currentReference->changeMessage(assignedSkill);
//				return true;
//			}
//			return false;
//	}
//};
//
///*A button has to communicate with the table or pop-up activator calling it*/
